import request from '@/config/axios'

// 服务政策 VO
export interface WebServicePolicyVO {
  userId: number // 用户id
  deptId: number // 部门id
  name: string // 分类名称
  area: string // 地区
  language: string // 语言
  policyGeneral: boolean // 政策是否通用（0是1否）
  dataScope: number // 使用权限（0仅自己1所有人2特定人员）
  dataScopeUserIds: string // 指定用户数组
  dataScopeDeptIds: string // 指定部门数组
  variable: string // 变量：邮箱，line,WhatsApp,FaceBook,逗号分隔
}

// 服务政策 API
export const WebServicePolicyApi = {
  // 查询服务政策分页
  getWebServicePolicyPage: async (params: any) => {
    return await request.get({ url: `/website/web-service-policy/page`, params })
  },

  // 查询服务政策详情
  getWebServicePolicy: async (id: number) => {
    return await request.get({ url: `/website/web-service-policy/get?id=` + id })
  },

  // 新增服务政策
  createWebServicePolicy: async (data: WebServicePolicyVO) => {
    return await request.post({ url: `/website/web-service-policy/create`, data })
  },

  // 修改服务政策
  updateWebServicePolicy: async (data: WebServicePolicyVO) => {
    return await request.put({ url: `/website/web-service-policy/update`, data })
  },

  // 删除服务政策
  deleteWebServicePolicy: async (id: number) => {
    return await request.delete({ url: `/website/web-service-policy/delete?id=` + id })
  },

  // 导出服务政策 Excel
  exportWebServicePolicy: async (params) => {
    return await request.download({
      url: `/website/web-service-policy/export-excel`,
      params
    })
  },
  // 获得服务政策模板列表(全部)
  getServicePolicyTemplatePageAll: async (params: any) => {
    return await request.get({
      url: `/website/service-policy-template/pageAll`,
      params
    })
  },
  // 复制列表
  copyWebServicePolicy: async (id: number) => {
    return await request.post({ url: `/website/web-service-policy/copy?id=` + id })
  },

  // ==================== 子表（服务政策详情） ====================

  // 获得服务政策详情列表
  getServicePolicyDetailListByServicePolicyId: async (servicePolicyId) => {
    return await request.get({
      url:
        `/website/web-service-policy/service-policy-detail/list-by-service-policy-id?servicePolicyId=` +
        servicePolicyId
    })
  }
}
